@use "sass:meta";

$os: "" !default;
$theme: "" !default;

:root {
  $ui-font: null;
  $chinese-sans-serif-font: null;
  $chinese-serif-font: null;
  $chinese-kai-font: null;
  $chinese-fangsong-font: null;
  @if $os == "windows" {
    $ui-font: "阿里巴巴普惠体 2.0", "微软雅黑";
    $chinese-sans-serif-font: "华文黑体";
    $chinese-serif-font: "家族宋", "宋体-简", "华文宋体";
    $chinese-kai-font: "华文楷体";
    $chinese-fangsong-font: "华文仿宋";
  } @else if $os == "macos" {
    $ui-font: "苹方-简";
    $chinese-sans-serif-font: "华文黑体Bold", "方正公文黑体";
    $chinese-serif-font: "家族宋", "宋体-简";
    $chinese-kai-font: "方正公文楷体";
    $chinese-fangsong-font: "方正公文仿宋";
  } @else if $os == "linux" {
    $ui-font: "Noto Sans CJK SC";
    $chinese-sans-serif-font: "Noto Sans CJK SC";
    $chinese-serif-font: "Noto Serif CJK SC";
    $chinese-kai-font: "Noto Serif CJK SC";  // FIXME: 找到合适的开源楷体
    $chinese-fangsong-font: "Noto Serif CJK SC";  // FIXME: 找到合适的开源仿宋字体
  }
  
  /* == 引用块设置 == */
  /* 1 表示启用边框，0 表示禁用 */
  --blockquote-border-enabled: 1; /* 1 表示启用边框，0 表示禁用 */
  --blockquote-border-color: hsl(0, 0%, 70%); /* 边框颜色 */

  /* == 字体设置 == */

  /* 基准字体 */
  /* 备选：Times, "Times New Roman" */
  --base-latin-font: "Latin Modern Roman", "Latin Modern Roman 10", Times;
  --base-chinese-font: #{meta.inspect($chinese-serif-font)};
  --base-font-size: 9.5pt;

  /* 引言字体 */
  --quote-latin-font: "Latin Modern Roman", "Latin Modern Roman 10", Times, "Times New Roman";
  --quote-chinese-font: "华文仿宋";
  /* em单位为一个正文字符（--base-font-size）大小，
  例如，如果您设置 --base-font-size 为 9.5pt，那么 1.05em = 1.05*9.5pt ≈ 10pt。下面的标题字体等设置也遵循该规则。
  这样，您就可以仅通过调整基准字体大小，而动态对其他元素大小做出调整。
  当然，您也可以直接设置以pt或px为单位的数值，将元素的大小固定下来，如 --quote-font-size: 10pt; */
  --quote-font-size: 1.05em;

  /* 代码字体（代码中的中文会调用 ui-font） */
  /* "Courier New" 从 Windows 3.1 起成为 Windows 官方提供的字体 */
  /* "Consolas" 从 Windows Vista 起成为 Windows 官方提供的字体 */
  --code-font: "Latin Modern Mono", "Latin Modern Mono 10", "Consolas", "Courier New";

  /* 侧边栏字体 */
  --ui-font: #{meta.inspect($ui-font)};

  /* source mode 字体 */
  /* 默认调用 code-font 和 ui-font */
  --sourceMode-font: "SF Mono", #{meta.inspect($ui-font)};

  /* 目录字体 */
  /* 默认调用 base-font */
  --toc-font: "";
  /* 默认调用 base-font-size */
  --toc-font-size: "";

  /* 公式字体 */
  --math-font-size: 1em;

  /* 表格字体 */
  /* 默认调用 heading-font */
  --table-title-font: "";
  /* 默认调用 base-font */
  --table-font: "";

  /* 标题字体（总设置） */
  --heading-chinese-sans-serif-font: #{meta.inspect($chinese-sans-serif-font)};  /* 黑体 */
  --heading-chinese-kai-font: #{meta.inspect($chinese-kai-font)};  /* 楷体 */
  --heading-chinese-fangsong-font: #{meta.inspect($chinese-fangsong-font)};  /* 仿宋 */
  @if $os == "macos" {
    /* 注意，如果您使用macOS系统并更改了英文字体，请在此处更换标题英文字体粗体字重的postscript值 */
    --heading-latin-font: "LMRoman10-Bold";
  } @else if $os == "windows" {
    --heading-latin-font: var(--base-latin-font);
  } @else if $os == "linux" {
    --heading-latin-font: var(--base-latin-font);
  }
  --heading-chinese-font: var(--heading-chinese-sans-serif-font);

  /* 标题字体分别设置 */
  /* 大标题（h1）字体 */
  --title-chinese-font: var(--heading-chinese-sans-serif-font);
  --title-font-size: 1.9em;
  /* h2字体 */
  --h2-chinese-font: var(--heading-chinese-sans-serif-font);
  --h2-font-size: 1.5em;
  /* h3字体 */
  --h3-chinese-font: var(--heading-chinese-sans-serif-font);
  --h3-font-size: 1.25em;
  /* h4字体 */
  --h4-chinese-font: var(--heading-chinese-kai-font);
  --h4-font-size: 1.15em;
  /* h5字体 */
  --h5-chinese-font: var(--heading-chinese-fangsong-font);
  --h5-font-size: 1.10em;
  /* h6字体 */
  --h6-chinese-font: var(--heading-chinese-fangsong-font);
  --h6-font-size: 1.05em;

  /* 粗体样式设置 */
  /* 加粗风格时使用的字重；400等同于 normal，700等同于 bold，900等同于 heavy */
  --strong-weight: 900;

  /* 基础行距 */
  --base-line-height: 1.618em;

  /* == 页面设置 == */
  /* 打印页边距 */
  --set-margin: 1.8cm 2cm 1.2cm 2cm !important;

  /* == 控制设置 == */
  /* 目录中是否显示一级标题 */
  --toc-show-title: none;

  /* == 颜色设置 == */
  /* 超链接颜色 */
  --link-color-light: #2E67D3;
  --link-color-dark: #8bb1f9;

  /* == 二级标题强制分页 == */
  /* 默认值为 auto */
  /* 更改为 page 启用强制分页 */
  --page-break-before-h2: auto;


  @if $theme == "dark" {
    --md-char-color: hsl(212, 100%, 85%);
    --link-hover: hsl(212, 100%, 85%);
    --focus-cont-bg: hsl(0, 0%, 10%);
    --focus-para-bg: hsl(0, 0%, 15%);
    --opt-borderb: 1px dashed hsl(212, 100%, 65%);
    --focus-shadow: 0px 8px 16px 0 rgba(0, 0, 0, 0.9);
    --opt-shadow: 0px 8px 16px 1px hsla(0, 0%, 0%, 0.3);

    /*change background of sidebar*/
    --side-bar-bg-color: #282828;
    --window-border: 0px solid #929292;
    --title-color: #dddddd;
    --text-color: #dcdcdc;
    --select-text-bg-color: #9ab1cf;
    --select-text-font-color: #161616;
    --bg-color: #1e1e1e;
    --mermaid-theme: night;
  }
}
